package com.ahui.mallchat.common.common.utils;

import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;

/**
 * Author:ahui
 * Description:
 * Date: 2024/8/3 17:35
 */

public class IpCheckUtil {

    private static final String[] VALID_IPS = {"120.198.117.132"}; // 从微信公众平台获取的合法IP地址列表

    public static boolean isIpValid(String ip) {
        for (String validIp : VALID_IPS) {
            if (validIp.equals(ip)) {
                return true;
            }
        }
        return false;
    }

    public static void main(String[] args) throws WxErrorException {
        WxMpService wxMpService = new WxMpServiceImpl(); // 初始化你的 WxMpService 实例

        String currentIp = getCurrentServerIp(); // 获取当前服务器的 IP 地址

        if (!isIpValid(currentIp)) {
            System.out.println("IP address " + currentIp + " is not in the whitelist.");
            // 抛出异常或者采取其他措施
        } else {
            // 继续执行其他操作
            WxMpQrCodeTicket wxMpQrCodeTicket = wxMpService.getQrcodeService().qrCodeCreateTmpTicket(123, 60);
            // 处理 wxMpQrCodeTicket
        }
    }

    private static String getCurrentServerIp() {
        // 这里只是一个示例，你需要根据实际情况获取当前服务器的 IP 地址
        return "120.198.117.132";
    }
}

